home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1996 / MacHack 1996.toast / Hacks / Hacks ’92 / NotificationMon ƒ / NotificationMon.ƒ / Source / Menu.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-06-22  |  1.5 KB  |  95 lines  |  [TEXT/KAHL]

  1. /*        Menu.c        This handles Menu command dispatching */
  2.  
  3. #include "Event.h"
  4. #include "Menu.h"
  5. #include "NotificationMon.h"
  6.  
  7. int    MenuNum,MenuItemNum;
  8. Boolean    MenuSelected = false;
  9.  
  10. BuildMenuBars(void)
  11. {
  12.     Handle mbar;
  13.     
  14.     mbar=GetNewMBar(128);
  15.     if(mbar)
  16.     {
  17.         SetMenuBar(mbar);
  18.         AddResMenu(GetMHandle(APPLE_MENU),'DRVR');
  19.         DrawMenuBar();
  20.     }
  21.     else
  22.     {
  23.         DebugStr("\pMenubar resouce not loaded.  Aborting!");
  24.         ExitToShell();
  25.     }
  26. }
  27.  
  28. MenuDispatch(int menuNumber,int itemNumber)
  29. {
  30.     if(menuNumber != 0)
  31.     {
  32.         MenuNum = menuNumber;
  33.         MenuItemNum = itemNumber;
  34.         MenuSelected = true;
  35.         switch(menuNumber)
  36.         {
  37.             case APPLE_MENU :     ChooseApple(itemNumber);
  38.                                 break;
  39.             case FILE_MENU :    ChooseFile(itemNumber);
  40.                                 break;
  41.             case EDIT_MENU :    ChooseEdit(itemNumber);
  42.                                 break;
  43.             default :            break;
  44.         }
  45.     }
  46. }
  47.  
  48. ChooseApple(int itemNumber)
  49. {
  50.     if(itemNumber == 1)
  51.     {
  52.         AboutBox();
  53.     }
  54.     else
  55.     {
  56.         RunDeskAccesory(itemNumber);
  57.     }
  58. }
  59.  
  60. RunDeskAccesory(int item)
  61. {
  62.     GrafPtr        savePort;
  63.     int            daRefNum;
  64.     Str255        daName;
  65.     
  66.     GetPort(&savePort);
  67.     GetItem(GetMHandle(APPLE_MENU), item, &daName);
  68.     daRefNum = OpenDeskAcc(&daName);
  69.     SetPort(savePort);
  70. }
  71.  
  72. ChooseFile(int item)
  73. {
  74.     switch(item)
  75.     {
  76.         case FILE_RESET :    DoNotificationReset();
  77.                             break;
  78.         case FILE_PREFS    :    DoNotificationPrefsDialog(MainView);
  79.                             break;
  80.         case FILE_QUIT    :    Done = true;
  81.                             break;
  82.         default:            break;
  83.     }
  84. }
  85.  
  86.  
  87. /*
  88.     Does not support edit menu.  Assumes that if the edit menu is enabled
  89.     that it is for desk accessories.  (pre MF or system 7, or MF with optionkey)
  90. */
  91. ChooseEdit(int item)
  92. {
  93.     SystemEdit(item-1);
  94. }
  95.